////按顺序打印一个数字,如1234打印1 2 3 4
//import java.util.Scanner;
//public class Test {
//    public static void main(String[] args) {
//        Scanner scanner=new Scanner(System.in);
//        System.out.println("请输入一个数字");
//        int num = scanner.nextInt();
//        print(num);
//    }
//    public static  void print(int a){
//        if (a > 9){
//            print(a / 10);
//        }
//        System.out.println(a % 10);
//    }
//}

//递归求1+2+3....+10
//public class Test {
//    public static void main(String[] args) {
//        int a = 10;
//        int ret =0;
//        ret = sum(a);
//        System.out.println(ret);
//    }
//    public static  int sum(int num){
//        if (num == 1){
//            return 1;
//        }
//        return num + sum(num-1);
//    }
//}
//写一个递归方法,输入一个非负整数,返回组成他的数字之和.如1792返回19
//public class Test {
//    public static void main(String[] args) {
//        int a = 7896;
//        int ret =sum(a);
//        System.out.println(ret);
//    }
//    public static int sum(int num){
//        if(num < 10){
//          return  num;
//        }
//        return  num%10 +sum(num / 10);
//    }
//}

//求斐波那契数列的第n项, F(0)=0 F(1)=1 F(n)=F(n-1)+F(n-2)(n>=2)
//public class Test {
//    public static void main(String[] args) {
//        int a=7;
//        int b=fib(a);
//        System.out.println(b);
//    }
//   public static int fib(int n){
//        if(n == 2 || n == 1){
//           return 1 ;
//        }
//        return fib(n-1)+fib(n-2);
//   }
//}
//计算过程太冗余 可使用循环来解决
//public static int fib(int n) {
//        int last2 = 1;
//        int last1 = 1;
//        int cur = 0;
//        for (int i = 3; i <= n; i++) {
//        cur = last1 + last2;
//        last2 = last1;
//        last1 = cur;
//        }
//        return cur;
//        }

// 数组作为函数的返回值
//public class Test {
//    public static void main(String[] args) {
//       int[] ret = func();
//       for (int i = 0;i <= ret.length;i++){
//           System.out.println(ret[i]);
//       }
//
//    }
//    public static int[] func(){
//        int[] ret = new int[2];
//        ret[1] = 25;
//        ret[0] = 88;
//        return ret;
//    }
//}

import java.lang.reflect.Array;
import java.util.Arrays;

//数组转化为字符串
//public class Test {
//    public static void main(String[] args) {
//        int[] arr={1,2,3,4,};
//        String ret = Arrays.toString(arr);
//         System.out.println(ret);
//    }
//}

//排序打印
//public class Test {
//    public static void main(String[] args) {
//        int[] arr={15,26,13,04,};
//        Arrays.sort(arr);
//        System.out.println(Arrays.toString(arr));
//    }
//}

//不依靠Arrays,自己实现数组打印字符串
//public class Test {
//    public static void main(String[] args) {
//        int[] arr = {1, 2, 3, 4,};
//        String ret = myToString(arr);
//        System.out.println(ret);
//    }
////    public static String myToString(int[] array) {
//        String result = "[";
//        for (int i = 0; i < array.length; i++) {
//            result += array[i];
//            if (i != array.length - 1) {
//                result += ", ";
//            }
//        }
//        result += "]";
//        return result;
//    }
//}

//冒泡排序
//public class Test {
//    public static void main(String[] args) {
//        int[] arr = {19, 42, 33, 4,};
//        bubbleSort(arr);
//        for (int num : arr) {
//            System.out.print(num + " ");
//        }
//    }
//    public static void bubbleSort(int[] array){
//        //i表示趟数
//        for (int i=0; i <array.length-1;i++){
//            //j表示下表移动  优化:每次比上一次少一次排序
//            boolean flg=false;
//            for (int j = 0; j < array.length-1-i;j++){
//                if (array[j] > array[j+1]){
//                    int tmp = array[j];
//                    array[j] = array[j+1];
//                    array[j+1] = tmp;
//                    flg = true;
//                }
//            }//flg=true 交换 flg= false 没发生交换
//            //又一次优化 优化逻辑：如果某一趟排序中没有发生交换，说明数组已经有序，提前结束排序
//            if (flg == false){    //(!flg)
//                break;
//            }
//        }
//    }
//}